@@ -1,6 +1,6 @@ |
||
| 1 | 1 |
# -*- coding: utf-8 -*- |
| 2 | 2 |
|
| 3 |
-from django.conf.urls import url |
|
| 3 |
+from django.conf.urls import include, url |
|
| 4 | 4 |
from django_file_upload import views as file_views |
| 5 | 5 |
|
| 6 | 6 |
from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, express_views, log_views, |
@@ -373,3 +373,7 @@ urlpatterns += [ |
||
| 373 | 373 |
urlpatterns += [ |
| 374 | 374 |
url(r'^tencentcloud/faceid/eidtoken$', tencentcloud_views.get_faceid_eid_token, name='tencentcloud_get_faceid_eid_token'), |
| 375 | 375 |
] |
| 376 |
+ |
|
| 377 |
+urlpatterns += [ |
|
| 378 |
+ url(r'^', include(('member.urls', 'member'), namespace='member')),
|
|
| 379 |
+] |
@@ -0,0 +1,52 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+ |
|
| 3 |
+from django.conf import settings |
|
| 4 |
+from django_logit import logit |
|
| 5 |
+from django_response import response |
|
| 6 |
+from paginator import pagination |
|
| 7 |
+ |
|
| 8 |
+from member.models import MemberActivityInfo |
|
| 9 |
+from utils.error.errno_utils import MemberActivityStatusCode |
|
| 10 |
+ |
|
| 11 |
+ |
|
| 12 |
+@logit |
|
| 13 |
+def activity_home(request): |
|
| 14 |
+ brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
|
|
| 15 |
+ user_id = request.POST.get('user_id', '')
|
|
| 16 |
+ banners = MemberActivityInfo.objects.filter(activity_state=1, is_slider=True, status=True).order_by('-date')
|
|
| 17 |
+ |
|
| 18 |
+ banners = [act.data(user_id) for act in banners] |
|
| 19 |
+ |
|
| 20 |
+ return response(data={
|
|
| 21 |
+ 'banners': banners, |
|
| 22 |
+ }) |
|
| 23 |
+ |
|
| 24 |
+ |
|
| 25 |
+@logit |
|
| 26 |
+def activity_list(request): |
|
| 27 |
+ brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
|
|
| 28 |
+ user_id = request.POST.get('user_id', '')
|
|
| 29 |
+ activity_section = request.POST.get('activity_section', 3)
|
|
| 30 |
+ |
|
| 31 |
+ activitys = MemberActivityInfo.objects.filter(activity_state=1, activity_section=activity_section, status=True).order_by('-date')
|
|
| 32 |
+ activitys = [act.data(user_id) for act in activitys] |
|
| 33 |
+ |
|
| 34 |
+ return response(data={
|
|
| 35 |
+ 'activitys': activitys, |
|
| 36 |
+ }) |
|
| 37 |
+ |
|
| 38 |
+ |
|
| 39 |
+@logit |
|
| 40 |
+def activity_detail(request): |
|
| 41 |
+ brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
|
|
| 42 |
+ user_id = request.POST.get('user_id', '')
|
|
| 43 |
+ activity_id = request.POST.get('activity_id', '')
|
|
| 44 |
+ |
|
| 45 |
+ try: |
|
| 46 |
+ act = MemberActivityInfo.objects.get(activity_id=activity_id, status=True) |
|
| 47 |
+ except MemberActivityInfo.DoesNotExist: |
|
| 48 |
+ return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND) |
|
| 49 |
+ |
|
| 50 |
+ return response(data={
|
|
| 51 |
+ 'activity': act.details(user_id), |
|
| 52 |
+ }) |
@@ -470,6 +470,10 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin): |
||
| 470 | 470 |
return qiniu_file_url(self.image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.image) |
| 471 | 471 |
|
| 472 | 472 |
@property |
| 473 |
+ def post_kv_image_url(self): |
|
| 474 |
+ return qiniu_file_url(self.poster_kv_img.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.poster_kv_img) |
|
| 475 |
+ |
|
| 476 |
+ @property |
|
| 473 | 477 |
def final_state(self): |
| 474 | 478 |
if not self.date: |
| 475 | 479 |
return u'报名中' |
@@ -541,7 +545,7 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin): |
||
| 541 | 545 |
'is_signup': self.is_signup, |
| 542 | 546 |
'share_integral': self.group_share_integral, |
| 543 | 547 |
'share_max_integral': self.group_share_max_integral, |
| 544 |
- 'poster_kv_img_url': self.final_poster_kv_img_url, |
|
| 548 |
+ 'poster_kv_img_url': self.post_kv_image_url, |
|
| 545 | 549 |
'poster_content': self.poster_content, |
| 546 | 550 |
'contribution_content_placeholder': self.contribution_content_placeholder, |
| 547 | 551 |
} |
@@ -0,0 +1,12 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+ |
|
| 3 |
+from django.conf.urls import url |
|
| 4 |
+ |
|
| 5 |
+from member import activity_mp_views |
|
| 6 |
+ |
|
| 7 |
+# activity |
|
| 8 |
+urlpatterns = [ |
|
| 9 |
+ url(r'^member/activity/home$', activity_mp_views.activity_home, name='mp_member_activity_home'), # 获取会员活动首页 |
|
| 10 |
+ url(r'^member/activity/list$', activity_mp_views.activity_list, name='mp_member_activity_list'), # 获取会员分区活动列表 |
|
| 11 |
+ url(r'^member/activity/detail$', activity_mp_views.activity_detail, name='mp_member_activity_detail'), # 获取会员分区活动列表 |
|
| 12 |
+] |
@@ -0,0 +1,8 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+ |
|
| 3 |
+from django.conf.urls import include, url |
|
| 4 |
+ |
|
| 5 |
+ |
|
| 6 |
+urlpatterns = [ |
|
| 7 |
+ url(r'^mp', include(('member.mp_urls', 'member'), namespace='mp_member')),
|
|
| 8 |
+] |